export interface ProWorklogVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 项目ID
   */
  proId: string | number;

  /**
   * 工作流程ID
   */
  flowId: string | number;

  /**
   * 项目名称（关联查询）
   */
  proName?: string;

  /**
   * 工作内容
   */
  workContent?: string;

  /**
   * 工作日期
   */
  logDate: string;

  /**
   * 记录人
   */
  logRecorder: number;

  /**
   * 记录人名称
   */
  logRecorderName?: string;

  /**
   * 工作描述
   */
  workDescription: string;

  /**
   * 工作时长
   */
  workTime: number;

  /**
   * 有效工作时长（=工作时长*（评分/5））
   */
  validWorkTime?: number;

  /**
   * 审核等级
   */
  auditGrade?: number;

  /**
   * 回款ID
   */
  receiveId?: string | number;

  /**
   * 回款名
   */
  receiveName?: string;

  /**
   * 流程ID
   */
  planId?: string | number;

  /**
   * 技术流程（对应planId）
   */
  techFlow?: string;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 创建时间
   */
  createTime?: string;
}

export interface ProWorklogForm extends BaseEntity {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 项目ID
   */
  proId?: string | number;

  /**
   * 工作流程ID
   */
  flowId?: string | number;

  /**
   * 工作日期
   */
  logDate?: string;

  /**
   * 记录人
   */
  logRecorder?: number;

  /**
   * 工作描述
   */
  workDescription?: string;

  /**
   * 工作时长
   */
  workTime?: number;

  /**
   * 有效工作时长（=工作时长*（评分/5））
   */
  validWorkTime?: number;

  /**
   * 审核等级
   */
  auditGrade?: number;

  /**
   * 回款ID
   */
  receiveId?: string | number;

  /**
   * 流程ID
   */
  planId?: string | number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 项目流程选择（前端使用）
   */
  projectFlow?: {
    projectId?: string | number;
    projectName?: string;
    flowId?: string | number;
  } | null;
}

export interface ProWorklogQuery extends PageQuery {
  /**
   * 项目ID
   */
  proId?: string | number;

  /**
   * 工作流程ID
   */
  flowId?: string | number;

  /**
   * 工作日期
   */
  logDate?: string;

  /**
   * 项目流程选择（前端使用）
   */
  projectFlow?: {
    projectId?: string | number;
    projectName?: string;
    flowId?: string | number;
  } | null;

  /**
   * 日期范围参数
   */
  params?: any;
}

/**
 * 工作日志审核记录
 */
export interface ProWorklogAuditVO {
  /**
   * 主键
   */
  id: string | number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 审核状态
   */
  auditStatus?: string;

  /**
   * 审核标题
   */
  auditTitle?: string;

  /**
   * 提交人
   */
  submitter?: string;

  /**
   * 项目负责人ID
   */
  proLeaderId?: string | number;

  /**
   * 项目负责人名称
   */
  proLeaderName?: string;

  /**
   * 创建时间
   */
  createTime?: string;
}

/**
 * 工作日志打包表单
 */
export interface ProWorklogPackageForm {
  /**
   * 备注
   */
  remark?: string;

  /**
   * 审核标题
   */
  auditTitle?: string;

  /**
   * 工作日志ID列表
   */
  worklogIds: (string | number)[];
}

/**
 * 工作日志审核业务对象
 */
export interface ProWorklogAuditBo {
  /**
   * 主键
   */
  id?: string | number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 审核状态
   */
  auditStatus?: string;

  /**
   * 审核标题
   */
  auditTitle?: string;

  /**
   * 项目负责人ID
   */
  proLeaderId?: string | number;

  /**
   * 工作日志列表
   */
  worklogs: ProWorklogForm[];
}

/**
 * 工作日志审核查询参数
 */
export interface ProWorklogAuditQuery extends PageQuery {
  /**
   * 记录人
   */
  createBy?: string | number;

  /**
   * 审核状态
   */
  auditStatus?: string;

  /**
   * 查询参数
   */
  params?: any;

  /**
   * 排序列
   */
  orderByColumn?: string;

  /**
   * 排序方向
   */
  isAsc?: string;
}
